# -*- coding: utf-8 -*-
from __future__ import unicode_literals

from datetime import datetime

from django.db import models
from django.contrib.auth.models import AbstractUser


# Create your models here.
class UserProfile(AbstractUser):
    """
    继承AbstractUser，扩展user model
    """
    nickname = models.CharField(max_length=50, default=u"", verbose_name=u"昵称")
    birday = models.DateField(verbose_name=u"生日", null=True)
    gender = models.CharField(choices=(("male", u"男"), ("female", u"女")), default="male", max_length=10)
    address = models.CharField(max_length=100, verbose_name=u"地址", default=u"")
    mobile = models.CharField(max_length=11, null=True, blank=True, verbose_name=u"联系方式")
    image = models.ImageField(upload_to="image/%Y/%m", default=u"image/default.png", max_length=100)

    class Meta:
        verbose_name = u"用户信息"
        verbose_name_plural = verbose_name

    def __unicode__(self):
        return self.username


class EmailVerifyRecord(models.Model):
    """

    """
    code = models.CharField(max_length=20, verbose_name=u"验证码")
    email = models.EmailField(max_length=50, null=True, blank=True, verbose_name=u"邮箱")
    send_type = models.CharField(choices=(("register", u"注册"), ("forget", u"找回密码")), max_length=10,
                                 verbose_name=u"邮件类型")
    send_time = models.DateTimeField(default=datetime.now, verbose_name=u"邮件过期时间")

    class Meta:
        verbose_name = u"邮箱验证码"
        verbose_name_plural = verbose_name

    def __unicode__(self):
        """
        重载__unicode__方法
        返回多个参数email-code
        :return:
        """
        return '{0} : {1}'.format(self.email, self.code)


class Banner(models.Model):
    """

    """
    title = models.CharField(max_length=100, verbose_name=u"标题")
    image = models.ImageField(upload_to="banner/%Y/%m", verbose_name=u"轮播图", max_length=100)
    url = models.URLField(max_length=200, verbose_name=u"访问地址")
    index = models.IntegerField(default=100, verbose_name=u"顺序")
    add_time = models.DateTimeField(default=datetime.now, verbose_name=u"添加时间")

    class Meta:
        verbose_name = u"轮播图"
        verbose_name_plural = verbose_name
    def __unicode__(self):
        return self.title
